Flash memory devices have developed into a popular source of non-volatile memory for a wide range of electronic applications. Flash memory devices typically use a one-transistor memory cell that allows for high memory densities, high reliability, and low power consumption. Common uses for flash memory include personal computers, personal digital assistants (PDAs), digital cameras, and cellular telephones. Program code and system data such as a basic input/output system (BIOS) are typically stored in flash memory devices for use in personal computer systems.
During manufacture of non-volatile memory devices, the devices are tested for proper operation. Various data patterns are written to the memory blocks to test whether the memory cells are capable of being written to and read from. A certain number of bad memory blocks can be replaced with redundant memory blocks. If the number of bad memory blocks is found to be greater than a certain threshold, the memory device is discarded.
The testing of the memory blocks typically includes writing a known threshold voltage to a memory cell and then reading the value from the cell in the form of a bit line current. The read data that represents the read current from the bit line is compared to the expected data through an internal verify read operation to determine if a memory cell is defective. If the read data is different from the expected data, the memory cell is marked as defective. A judged current that represents the number of defective cells is compared to a reference current that represents the criteria of allowed error bits to determine if a memory block is unusable. If the judged current is greater than the reference current, the memory block is marked as unusable. The entire memory device is determined to be unusable, and is discarded, if the quantity of unusable memory blocks exceeds a certain threshold.
The criteria of allowed error bits are established during the design and manufacture of the memory device under test. The criteria are stored in a trim register of the memory device to be used during the testing process.
A problem with this method for determining unusable memory blocks is that the difference between the judged current and the reference current might be very small making it difficult to accurately measure. Thus, it is possible for a memory block to be marked as unusable even though it is substantially equal to the reference current or even a little less than.
For the reasons stated above, and for other reasons stated below that will become apparent to those skilled in the art upon reading and understanding the present specification, there is a need in the art to increase the reliability of determining unusable memory blocks.